#ifndef __INPUT_MANAGER_H
#define __INPUT_MANAGER_H
#include <sys/time.h>

#define INPUT_TYPE_TOUCH 1//触摸事件
#define INPUT_TYPE_NET 	 2//网络事件

//输入事件的结构体(可以支持触摸输入和网络输入)
typedef struct InputEvent{
		struct timeval tTime;//时间
		int iType;//类型（是触摸输入还是网络输入）
		int iX;//坐标
		int iY;
		int iPressure;//压力（是按下还是松开）
		char str[1024];//针对于网络事件
}InputEvent,*PInputEvent;

//输入设备的结构体
typedef struct InputDevice{
		char *name;//设备名称
		int (*GetInputEvent)(PInputEvent ptInputEvent);
		int (*DeviceInit)(void);//设备初始化函数
		int (*DeviceExit)(void);//设备退出函数
		struct InputDevice *ptNext;//如果有多个输入设备，可以将其链接成链表

}InputDevice,*PInputDevice;
void RegisterInputDevice(PInputDevice ptInputDev);
void InputInit(void);
void IntpuDeviceInit(void);
int GetInputEvent(PInputEvent ptInputEvent);

#endif

